The invention involves a system for communicating between multiple electronic devices, such as consumer electronic devices or the like, via interconnections such as digital data buses. More particularly, this invention concerns an arrangement for managing the interoperability of such devices.
A data bus can be utilized for interconnecting electronic devices such as television receivers, display devices, video-cassette recorders (VCR), direct broadcast satellite (DBS) receivers, and home control devices (e.g., a security system or a temperature control device). Communication using a data bus occurs in accordance with a bus protocol. Examples of bus protocols include the Consumer Electronics Bus, or CEBus, and the IEEE 1394 High Performance Serial Bus.
A bus protocol typically provides for communicating both control information and data. For example, CEBus control information is communicated on a xe2x80x9ccontrol channelxe2x80x9d having a protocol defined in Electronics Industries Association (EIA) specification IS-60. Control information for a particular application can be defined using a form of programming language known as CAL (Common Application Language).
Consumer electronics devices are becoming increasingly complex and provide an ever-increasing number of features. While coupling these complex devices together via a data bus may be necessary to provide a complete audio-video (A/V) system, doing so creates numerous problems. For example, certain features of one device may require interaction with one or more devices coupled to the bus. A capability of one device may be needed to complete a particular operation in another device. Conflicts between the needs of various devices may occur.
At present, when more that one device competes for the use of a common resource, for example a third device connected on the network bus, the first in time controls the device. The other device cannot gain access to the common resource until the first device releases its hold the resource. This does not pose a problem in simple network, for example a network comprised of a television, a cable box, and a VCR. In such simple networks the VCR is xe2x80x9ccontrolledxe2x80x9d by the cable box, that is the VCR will only record what the cable box is providing. However, in more complex networks two devices, for example a cable box and a digital broadcast receiver, may compete for control of a shared resource, i.e., a VCR.
In many control applications it is desirable to discriminate against general access to a device. This discrimination usually benefits a single device. In such a case, a special relationship called xe2x80x9clockingxe2x80x9d develops, for either a short or long duration of time, between two devices. The locking relationship allows one device to control the access to a second device (i.e., a xe2x80x9clocked devicexe2x80x9d).
In general there are two types of locking approaches. In the first approach, the locked device determines if it can be unlocked andlor locked to another device. A request to lock the device is made directly to the locked device. If the locked device cannot satisfy the new request, the locked device polls the device which locked it (i.e., the locking device) to ascertain whether or not the existing lock can be terminated and a new lock be consummated. If the locking device does not respond, for example, in the event of a failure, the locked device terminates the lock and establishes the new lock. In the second approach, a device wishing to lock another device broadcasts a request over the network that any device having a lock on the desired device terminate its lock.
Generally, in accordance with the invention, a first electronic device comprises means for coupling to a data bus and control means for controlling communication via the data bus between the first electronic device and second and third electronic devices coupled to the data bus. The control means processes control and query data received from the second and third electronic devices for managing the communication relationships amongst these devices.
In accordance with one aspect of the present invention there is provided a device having a means for communicating with at least a second device interconnected by a network bus, thereby creating a relationship between said first mentioned device and said second device, said communication means being capable of receiving query data from a third device. Further, the device has a first means for storing information pertaining to the persistence of said relationship and a second means for storing information pertaining to a condition for terminating said relationship, and a means for controlling operating modes of said device in response to control data from said second device. The controlling means is capable of processing said relationship information and said query data and of terminating said relationship in response to one of said terminating condition and said query data.
In accordance with another aspect of the present invention the relationship information comprises one of a first state wherein said relationship is terminated in response to said query data and a second state wherein said relationship is maintained regardless of said query data.
In accordance with yet another aspect of the present invention the termination of said relationship in response to said query data comprises forming a new relationship between said consumer electronic device and said third device.
In accordance with still another aspect of the present invention the controlling means is capable of polling said second device, in response to the receipt of said query data to obtain permission to terminate said relationship.
In accordance with still another aspect of the present invention there is provided a system having a plurality of devices interconnected to one another by a network bus. Each device having a means for communicating, first and second means for storing information and a means for controlling the operating modes of said device as described hereinabove.
In accordance with a method aspect of the present invention a consumer electronic device connected on a network bus, the method comprises communicating with at least a second device interconnected by a network bus, controlling operating modes of said consumer electronic device, storing information pertaining to a persistence of said relationship and a predetermined condition pertaining to a condition for terminating said relationship, receiving query data from a third device, processing said information pertaining to said significance of said relationship and said query data, and terminating said relationship in response to one of said terminating condition and said query data.